Міністерство Освіти і Науки України
Національний Університет “Львівська Політехніка”
Кафедра ЕОМ
Стиск зображень з використанням дискретних косинусних перетворень
Методичні вказівкидо лабораторної роботи № 1 з курсу “Проектування комп’ютерних засобів цифрової обробки сигналів та зображень” для студентів спеціальностей
7.091501 і 8.091501 "Комп'ютерні системи та мережі"
7.091503 і 8.091503 “Спеціалізовані комп'ютерні системи“
Затвердженона засіданні кафедри”Електронних обчислювальних машин”Протокол № 9 від 17 квітня 2003 року
Львів – 2003
Стиск зображень з використанням дискретних косинусних перетворень :
Методичні вказівки до лабораторної роботи № 1 з курсу “Проектування комп’ютерних засобів цифрової обробки сигналів та зображень” для студентів спеціальностей 7.091501 і 8.091501 "Комп'ютерні системи та мережі", 7.091503 і 8.091503 “Спеціалізовані комп'ютерні системи“ / Укладачі: Є. Ваврук, Р. Попович – Львів: Національний університет “Львівська політехніка”, 2003, 11 с.
Укладачі: Є. Ваврук, к.т.н., ст.викл.
Р. Попович, к.т.н., доцент
Відповідальний за випуск: Мельник А. О., професор, завідувач кафедри
Рецензенти: Пуйда В.Я., к. т. н, доцент
Троценко В.В., к. т. н, доцент
Мета роботи
Опрацювати та випробувати в середовищі MATLAB 6.0 програму, яка реалізує етапи стиску зображень з використанням дискретного косинусного перетворення.
Теоретичне підґрунтя
Безвтратні методи стиску (кодування Хафмена, LZW, довжин серій) не забезпечують потрібного у багатьох випадках степеня стиску зображень. Необхідно застосовувати методи стиску з втратою інформації. Один з таких підходів використовується у форматах стиску зображень JPEG.
Стиск даних у форматі JPEG (Joint Photographic Experts Group), який дозволяє стискати окремі (незмінні, still picture) зображення, можна умовно розбити на три етапи:
1-й етап - перетворення та субдискретизація кольорової інформації.
2-й етап – поблочні дискретні косинусні перетворення.
3-й етап – квантування та кодування значень дискретного косинусного перетворення.
Перший етап - це перетворення та субдискретизація кольорової інформації. Він полягає в наступному.
Кожна точка зображення, представлена 3 байтами в системі RGB, переводиться в систему YUV (яскравість, кольорова насиченість, кольоровий тон) згідно виразів:
Y=27/256*R+150/256*G+29/256*B
U=131/256*R-110/256*G-21/256*B+128
V= -44/256*R-87/256*G+131/256*B+128
або в матричному вигляді
Перетворення з системи YUV в систему RGB виконується за формулами:
R=Y+1.37*(U_128)
G=Y-0.698*(U-128)-0.336*(V-128)
B=Y+1.73*(V-128)
або в матричному вигляді
Далі значення компоненти Y залишаються без зміни, а число значень компонент U і V зменшується (так звана субдискретизація; компоненти U і V можна загрубити без суттєвої втрати якості зображення). Можливі різні варіанти субдискретизації: просте викидання частини з сусідніх точок чи заміна значень сусідніх точок зображення на їх середні. При цьому можливі кілька варіантів об'єднання точок: дві по горизонталі, дві по вертикалі, квадрат з чотирьох сусідніх точок. Найчастіше використовується наступний варіант: число точок зменшується вдвоє, причому значення точок обчислюються згідно з виразом
y(n)=1/4*x(n-2)+1/2*x(n-1)+1/4*x(n).
При цьому блок 8Х16 значень компоненти U або V перетворюється в блок 8Х8 значень.
При відтворенні інформації для покращення якості проміжні точки рекомендується отримувати не простим повторенням, а шляхом інтерполяції між сусідніми точками. Найчастіше використовується наступний спосіб: при відтворенні зображення блок 8Х8 точок реконструюється в блок 8Х16 точок за формулою
x(n)=[y(2n)+y(2n-1)]/2.
Якщо використовується описаний варіант субдискретизації, то досягається стиск зображення в 1,5 раза. Дійсно 1 байт компоненти ...